proc-macro-nested 0.1.7

Support for nested proc-macro-hack invocations
Documentation
Support for nested invocations of proc-macro-hack expression macros. By default, macros defined through proc-macro-hack do not support nested invocations, i.e. the code emitted by a proc-macro-hack macro invocation cannot contain recursive calls to the same proc-macro-hack macro nor calls to any other proc-macro-hack macros. This crate provides opt-in support for such nested invocations. To make a macro callable recursively, add a dependency on this crate from your declaration crate and update the `#[proc_macro_hack]` re-export as follows. ``` // Before # const IGNORE: &str = stringify! { #[proc_macro_hack] pub use demo_hack_impl::add_one; # }; ``` ``` // After # const IGNORE: &str = stringify! { #[proc_macro_hack(support_nested)] pub use demo_hack_impl::add_one; # }; ``` No change is required within your definition crate, only to the re-export in the declaration crate. # Limitations - Nested invocations are preprocessed by a TT-muncher, so the caller's crate will be required to contain `#![recursion_limit = "..."]` if there are lengthy macro invocations. - Only up to 64 nested invocations are supported.